Introduction
The objective of machine learning is to acquire knowledge from available information in an automated manner. As an example, one can think of obtaining rules for medical diagnosis, based on a database of patients with their test results and diagnoses. If we make the simplifying assumption that data are represented as binary vectors of a fixed length and the rule to be learned classifies these vectors into two classes, then the task is that of learning, or identifying a Boolean function. This simplifying assumption is realistic in some cases, and it provides a good intuition for more general learning problems in others.
The notion of learning is somewhat elusive, and there are a large number of approaches to defining precisely what is meant by learning. A probabilistic notion, PAC (probably approximately correct) learning, based on random sampling of examples of the function to be learned, is discussed by Anthony in Chapter 6 of this volume. Here we discuss a different approach called learning by queries, introduced by Angluin in the 1980s [5]. In this model, it is known in advance that the function to be learned belongs to some given class of functions, and the learner's objective is to identify this function exactly by asking questions, or queries, about it. The prespecified class is called the target class, or concept class, and the function to be learned is called the target function, the target concept, or simply the target.